#ifndef _GC_READER_H_
#define _GC_READER_H_

#include <string>
#include <cstdlib>

#include "Util.h"
#include "Config.h"

using namespace std;

namespace great_config {

	const char * DEFAULT_CONFIG_FILE = "/etc/great_config/great_config.conf";
	const char * DEFAULT_GROUP = "default";

	class Reader{

		public:

			static Reader * factory(const string &file = "");

			Reader(const string &config = "");

			~Reader();

			virtual map<string, string> &getConfig(map<string, string> &map) = 0;

			void setGroup(const string &group);

		protected:
			
			string _group;
	};

}

#endif
